# 平移图片
import numpy as np
import cv2


img = cv2.imread('../imgs/img_transf.png')
rows, cols = img.shape[:2]

# 定义平移矩阵，需要是 numpy 的 float32 类型
# x 轴平移 100，y 轴平移 50
M = np.float32([[1, 0, 100], [0, 1, 50]])
# 用仿射变换实现平移
dst = cv2.warpAffine(img, M, (cols, rows))

cv2.imshow('shift', dst)
cv2.waitKey(10)

# 45°旋转图片并缩小一半
# 参数 1：图片的旋转中心
# 参数 2：旋转角度(正：逆时针，负：顺时针)
# 参数 3：缩放比例，0.5 表示缩小一半
M = cv2.getRotationMatrix2D((cols / 2, rows / 2), 45, 0.5)
dst = cv2.warpAffine(img, M, (cols, rows))

cv2.imshow('rotation', dst)
cv2.waitKey(0)
